#ifndef JSON_PARSER_HPP
#define JSON_PARSER_HPP

#include "Message.hpp"
#include <string>

namespace netspy
{

	/**
         * Klasa parsująca stringi na obiekty JSON a następnie na wewnętrzne struktury rozumiane przez aplikację i na odwrót.
	 * 
         */


class JSONParser
{
        public:
		/**
	         * @return zwraca strukturę Message zbudowaną na podstawie stringu
	         */

                static Message unpack(const std::string &stringMessage);
	
	        /**
        	 * @return zwraca string zserializowanego obiektu JSON powstałego na bazie Message 
        	 */

	        static std::string pack(const Message &message);
};

}
#endif
